import request from '@/utils/request'

/**
 * 用户登录
 * @param {string} username - 用户名
 * @param {string} password - 密码
 * @returns {Promise} - 返回用户登录信息
 */

/**
 * 退出登录
 * @returns {Promise} - 返回登出结果
 */
export function logout() {
  return request({
    url: '/dk/auth/jwt/logout',
    method: 'post',
  })
}

/**
 * 获取用户信息
 * @returns {Promise} - 返回用户信息
 */
export function getUserInfo() {
  return request({
    url: '/dk/users/me',
    method: 'get',
  })
}
/**
 * 获取用户列表
 * @param {Object} params - 查询参数
 * @param {number} [params.skip=0] - 分页起始位置，从0开始
 * @param {number} [params.limit=10] - 每页记录数，最大100
 * @param {string} [params.keyword] - 搜索关键词，支持用户名、邮箱、手机号、昵称和部门模糊搜索
 * @param {number} [params.status] - 用户状态筛选，0=禁用，1=启用
 * @returns {Promise} - 返回用户列表数据
 */
export function getUserList(params) {
  return request({
    url: '/dk/sysbase/users',
    method: 'get',
    params,
  })
}

/**
 * 创建新用户
 * @param {Object} data - 用户数据
 * @returns {Promise} - 返回创建结果
 */
export function createUser(data) {
  return request({
    url: '/dk/auth/register',
    method: 'post',
    data,
  })
}

/**
 * 更新用户信息
 * @param {string} userId - 用户ID
 * @param {Object} data - 用户数据
 * @returns {Promise} - 返回更新结果
 */
export function updateUser(userId, data) {
  return request({
    url: `/dk/sysbase/users/${userId}`,
    method: 'put',
    data,
  })
}

/**
 * 删除用户
 * @param {string} userId - 用户ID
 * @returns {Promise} - 返回删除结果
 */
export function deleteUser(userId) {
  return request({
    url: `/dk/sysbase/users/${userId}`,
    method: 'delete',
  })
}

/**
 * 重置用户密码
 * @param {string} userId - 用户ID
 * @param {Object} data - 密码数据
 * @param {string} data.password - 新密码
 * @param {string} data.confirmPassword - 确认密码
 * @returns {Promise} - 返回重置结果
 */
export function resetUserPassword(userId, data) {
  return request({
    url: `/dk/sysbase/users/${userId}/reset-password`,
    method: 'post',
    data,
  })
}
